package com.letoken.platform.pub.util;

import java.math.BigDecimal;
import java.math.RoundingMode;

public class DataCalculationUtils {

    /**
     * 根据订单金额计算推广分红周期
     * @param amount
     * @return
     */
    public static Integer ambCalculationPeriod(BigDecimal amount,BigDecimal contributing,BigDecimal rate){
        // (订单金额+订单金额*让利值*2)/(订单金额*让利值*流通率)*1.5
        // (订单金额+订单金额*让利值*2)*1.5/(订单金额*让利值*流通率)
        // (1+让利值*2)*1.5/让利值*流通率
        BigDecimal re = (BigDecimal.ONE.add(contributing.multiply(new BigDecimal(2)))).multiply(new BigDecimal(1.5));
        re = re.divide(contributing.multiply(rate),4,BigDecimal.ROUND_HALF_EVEN);
        re = re.setScale(4, RoundingMode.HALF_UP);
        int c = re.intValue();
        if (re.subtract(new BigDecimal(c)).compareTo(BigDecimal.ZERO) > 0){
            c++;
        }
        return c;
    }


    public static void main(String[] args) {
        BigDecimal a = BigDecimal.valueOf(10000);
        BigDecimal b = BigDecimal.valueOf(0.1);
        BigDecimal c = BigDecimal.valueOf(0.05);
        System.out.println(a.add(a.multiply(b).multiply(BigDecimal.valueOf(2))).divide(a.multiply(b).multiply(c)).multiply(BigDecimal.valueOf(1.5)));

        System.out.println(ambCalculationPeriod(null,b,c));
    }

}



